Skip to content

Conversation

snomiao
Copy link
Member

@snomiao snomiao commented Oct 2, 2025

Summary

This PR implements a systematic naming convention for all GitHub workflows to improve organization and discoverability. All 22 workflows have been renamed and grouped by logical categories with consistent prefixes.

Changes

Naming Convention

  • ci-*: Continuous Integration workflows (testing, linting, validation)
  • pr-*: PR-specific automation triggered by labels
  • release-*: Release management workflows
  • types-*: TypeScript type generation workflows
  • i18n-*: Internationalization workflows

Key Renames

  • tests-ci.yamlci-tests-e2e.yaml
  • vitest-tests.yamlci-tests-unit.yaml
  • storybook-and-chromatic-ci.yamlci-tests-storybook.yaml
  • auto-backport.yamlpr-backport.yaml
  • claude-pr-review.ymlpr-claude-review.yaml
  • version-bump.yamlrelease-version-bump.yaml
  • publish-frontend-types.yamlrelease-npm-types.yaml
  • create-dev-pypi-package.yamlrelease-pypi-dev.yaml

Test Workflow Improvements

  • Grouped all test workflows under ci-tests-* pattern
  • Fork-safe deployment workflows: ci-tests-e2e-forks.yaml, ci-tests-storybook-forks.yaml
  • Added comments explaining fork deployment security workarounds

Documentation

  • Added comprehensive .github/workflows/README.md
  • Documents naming conventions, best practices, and workflow organization
  • Includes trigger patterns and external dependencies

Benefits

  1. Better Organization: Workflows are now grouped logically by prefix
  2. Improved Discoverability: Easy to find related workflows
  3. Consistent Naming: All workflows follow the same pattern
  4. Clear Purpose: Workflow names immediately indicate their function
  5. Maintainable: README provides guidelines for future workflows

Test Plan

  • All workflow cross-references updated
  • Display names match new file names
  • Fork deployment workflows properly reference main workflows
  • Release workflows reference correct npm types workflow
  • All workflows retain original functionality

🤖 Generated with Claude Code

┆Issue is synchronized with this Notion page by Unito

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Oct 2, 2025
@christian-byrne
Copy link
Contributor

This might break a lot of other things like branch protection rules

@DrJKL
Copy link
Contributor

DrJKL commented Oct 3, 2025

This might break a lot of other things like branch protection rules

These probably aren't the names I would have gone with, but this was my idea to make the actions a little more organized and make it easier to find related workflows.

The branch protection rules would almost definitely need to be updated, GitHub isn't great about noticing changes like that.

@christian-byrne
Copy link
Contributor

Should be fine as long as we update BP when merging. I think there's some other things like documentation, claude commands, and the PyPi and NPM auth stuff.

- Implement systematic naming convention using category prefixes
- Group workflows logically: ci-, pr-, release-, types-, i18n-
- Rename all 22 workflows for better organization and discoverability
- Update workflow cross-references and display names
- Add comprehensive README.md with naming guidelines and best practices

Key changes:
- CI workflows: ci-tests-e2e, ci-tests-unit, ci-tests-storybook, etc.
- PR automation: pr-backport, pr-claude-review, pr-playwright-snapshots
- Release management: release-version-bump, release-npm-types, etc.
- Type generation: types-registry-api, types-manager-api, etc.
- Internationalization: i18n-update-core, i18n-update-nodes, etc.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@snomiao snomiao force-pushed the sno-tidy-workflows branch from 7d2dbd4 to b578a42 Compare October 8, 2025 08:26
Copy link

github-actions bot commented Oct 8, 2025

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 10/08/2025, 08:27:45 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

Copy link

github-actions bot commented Oct 8, 2025

🎭 Playwright Test Results

⚠️ Tests passed with flaky tests

⏰ Completed at: 10/08/2025, 08:37:49 AM UTC

📈 Summary

  • Total Tests: 488
  • Passed: 455 ✅
  • Failed: 0
  • Flaky: 3 ⚠️
  • Skipped: 30 ⏭️

📊 Test Reports by Browser

  • chromium: View Report • ✅ 446 / ❌ 0 / ⚠️ 3 / ⏭️ 30
  • chromium-2x: View Report • ✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • chromium-0.5x: View Report • ✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • mobile-chrome: View Report • ✅ 6 / ❌ 0 / ⚠️ 0 / ⏭️ 0

🎉 Click on the links above to view detailed test results for each browser configuration.

@snomiao
Copy link
Member Author

snomiao commented Oct 8, 2025

This might break a lot of other things like branch protection rules

We are lucky! I renamed/moved only Workflow file and its names, and keep all job-names as original so nothing was breaking! You can see "All checks have passed" in this PR.

*branch protection rules matches only job-names

*just rebased

cc @christian-byrne @DrJKL

btw @DrJKL feel free to add commits to this branch for names you want :D

Copy link
Contributor

@DrJKL DrJKL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking really nice 😀

@@ -1,4 +1,4 @@
name: Validate JSON
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @benceruleanlu's idea here was that the root workflow name would 1:1 correspond with the filename, so this would be CI: JSON Validation
(Though I wouldn't mind knowing what JSON was being validated for what reason...)

@@ -1,8 +1,10 @@
name: PR Playwright Deploy (Forks)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think for the Playwright ones I'd like to keep either Playwright or Browser in the Action name somewhere. Maybe CI: Tests - Browser and CI: Tests - Browser - Forks?
Then it'd align well with CI: Tests - Unit

|--------|----------|---------|---------|
| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` |
| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` |
| `pr-` | PR Automation | PR-specific workflows triggered by labels | `pr-claude-review.yaml` |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `pr-` | PR Automation | PR-specific workflows triggered by labels | `pr-claude-review.yaml` |
| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` |
| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` |
| `pr-` | PR Automation | PR-specific workflows triggered by labels or comments | `pr-claude-review.yaml` |

Comment on lines +32 to +36
### Test Workflows (`ci-tests-*`)
- `ci-tests-e2e.yaml` - End-to-end testing with Playwright
- `ci-tests-unit.yaml` - Unit and component testing with Vitest
- `ci-tests-storybook.yaml` - Storybook build and visual regression testing
- `ci-tests-*-forks.yaml` - Fork-safe deployment workflows (deploy results without exposing secrets)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This kind of documentation can get out of date really quickly.
Can we put comments into the workflows themselves, then have a single e.g. here?

- `ci-tests-*-forks.yaml` - Fork-safe deployment workflows (deploy results without exposing secrets)

### PR Label Workflows (`pr-*`)
These workflows are triggered when specific labels are added to PRs:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be a good place to link to GitHub's documentation.

Comment on lines +43 to +45
| `pr-backport.yaml` | `needs-backport` | Cherry-pick PRs to release branches |
| `pr-claude-review.yaml` | `claude-review` | AI-powered code review |
| `pr-playwright-snapshots.yaml` | `New Browser Test Expectations` | Update visual test snapshots |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'd be really cool if we had a way to

  • standardize the triggering
  • extract the label and description from the workflow
  • Keep the doc updated

Not now, but in a wonderful sci-fi future

- **Desktop branches**: `desktop/**`
- **WIP exclusion**: `!**wip/**`, `!wip/**`

## Best Practices
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will be good for the robots 🤖

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:L This PR changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants